home *** CD-ROM | disk | FTP | other *** search
/ Software of the Month Club 2000 October / Software of the Month - Ultimate Collection Shareware 277.iso / pc / PROGRAMS / UTILITY / WINLINUX / DATA1.CAB / programs_-_include / LINUX / PCI.H < prev    next >
C/C++ Source or Header  |  1999-09-17  |  46KB  |  1,267 lines

  1. /*
  2.  *    $Id: pci.h,v 1.87 1998/10/11 15:13:12 mj Exp $
  3.  *
  4.  *    PCI defines and function prototypes
  5.  *    Copyright 1994, Drew Eckhardt
  6.  *    Copyright 1997--1999 Martin Mares <mj@atrey.karlin.mff.cuni.cz>
  7.  *
  8.  *    For more information, please consult the following manuals (look at
  9.  *    http://www.pcisig.com/ for how to get them):
  10.  *
  11.  *    PCI BIOS Specification
  12.  *    PCI Local Bus Specification
  13.  *    PCI to PCI Bridge Specification
  14.  *    PCI System Design Guide
  15.  */
  16.  
  17. #ifndef LINUX_PCI_H
  18. #define LINUX_PCI_H
  19.  
  20. /*
  21.  * Under PCI, each device has 256 bytes of configuration address space,
  22.  * of which the first 64 bytes are standardized as follows:
  23.  */
  24. #define PCI_VENDOR_ID        0x00    /* 16 bits */
  25. #define PCI_DEVICE_ID        0x02    /* 16 bits */
  26. #define PCI_COMMAND        0x04    /* 16 bits */
  27. #define  PCI_COMMAND_IO        0x1    /* Enable response in I/O space */
  28. #define  PCI_COMMAND_MEMORY    0x2    /* Enable response in Memory space */
  29. #define  PCI_COMMAND_MASTER    0x4    /* Enable bus mastering */
  30. #define  PCI_COMMAND_SPECIAL    0x8    /* Enable response to special cycles */
  31. #define  PCI_COMMAND_INVALIDATE    0x10    /* Use memory write and invalidate */
  32. #define  PCI_COMMAND_VGA_PALETTE 0x20    /* Enable palette snooping */
  33. #define  PCI_COMMAND_PARITY    0x40    /* Enable parity checking */
  34. #define  PCI_COMMAND_WAIT     0x80    /* Enable address/data stepping */
  35. #define  PCI_COMMAND_SERR    0x100    /* Enable SERR */
  36. #define  PCI_COMMAND_FAST_BACK    0x200    /* Enable back-to-back writes */
  37.  
  38. #define PCI_STATUS        0x06    /* 16 bits */
  39. #define  PCI_STATUS_CAP_LIST    0x10    /* Support Capability List */
  40. #define  PCI_STATUS_66MHZ    0x20    /* Support 66 Mhz PCI 2.1 bus */
  41. #define  PCI_STATUS_UDF        0x40    /* Support User Definable Features */
  42. #define  PCI_STATUS_FAST_BACK    0x80    /* Accept fast-back to back */
  43. #define  PCI_STATUS_PARITY    0x100    /* Detected parity error */
  44. #define  PCI_STATUS_DEVSEL_MASK    0x600    /* DEVSEL timing */
  45. #define  PCI_STATUS_DEVSEL_FAST    0x000    
  46. #define  PCI_STATUS_DEVSEL_MEDIUM 0x200
  47. #define  PCI_STATUS_DEVSEL_SLOW 0x400
  48. #define  PCI_STATUS_SIG_TARGET_ABORT 0x800 /* Set on target abort */
  49. #define  PCI_STATUS_REC_TARGET_ABORT 0x1000 /* Master ack of " */
  50. #define  PCI_STATUS_REC_MASTER_ABORT 0x2000 /* Set on master abort */
  51. #define  PCI_STATUS_SIG_SYSTEM_ERROR 0x4000 /* Set when we drive SERR */
  52. #define  PCI_STATUS_DETECTED_PARITY 0x8000 /* Set on parity error */
  53.  
  54. #define PCI_CLASS_REVISION    0x08    /* High 24 bits are class, low 8
  55.                        revision */
  56. #define PCI_REVISION_ID         0x08    /* Revision ID */
  57. #define PCI_CLASS_PROG          0x09    /* Reg. Level Programming Interface */
  58. #define PCI_CLASS_DEVICE        0x0a    /* Device class */
  59.  
  60. #define PCI_CACHE_LINE_SIZE    0x0c    /* 8 bits */
  61. #define PCI_LATENCY_TIMER    0x0d    /* 8 bits */
  62. #define PCI_HEADER_TYPE        0x0e    /* 8 bits */
  63. #define  PCI_HEADER_TYPE_NORMAL    0
  64. #define  PCI_HEADER_TYPE_BRIDGE 1
  65. #define  PCI_HEADER_TYPE_CARDBUS 2
  66.  
  67. #define PCI_BIST        0x0f    /* 8 bits */
  68. #define PCI_BIST_CODE_MASK    0x0f    /* Return result */
  69. #define PCI_BIST_START        0x40    /* 1 to start BIST, 2 secs or less */
  70. #define PCI_BIST_CAPABLE    0x80    /* 1 if BIST capable */
  71.  
  72. /*
  73.  * Base addresses specify locations in memory or I/O space.
  74.  * Decoded size can be determined by writing a value of 
  75.  * 0xffffffff to the register, and reading it back.  Only 
  76.  * 1 bits are decoded.
  77.  */
  78. #define PCI_BASE_ADDRESS_0    0x10    /* 32 bits */
  79. #define PCI_BASE_ADDRESS_1    0x14    /* 32 bits [htype 0,1 only] */
  80. #define PCI_BASE_ADDRESS_2    0x18    /* 32 bits [htype 0 only] */
  81. #define PCI_BASE_ADDRESS_3    0x1c    /* 32 bits */
  82. #define PCI_BASE_ADDRESS_4    0x20    /* 32 bits */
  83. #define PCI_BASE_ADDRESS_5    0x24    /* 32 bits */
  84. #define  PCI_BASE_ADDRESS_SPACE    0x01    /* 0 = memory, 1 = I/O */
  85. #define  PCI_BASE_ADDRESS_SPACE_IO 0x01
  86. #define  PCI_BASE_ADDRESS_SPACE_MEMORY 0x00
  87. #define  PCI_BASE_ADDRESS_MEM_TYPE_MASK 0x06
  88. #define  PCI_BASE_ADDRESS_MEM_TYPE_32    0x00    /* 32 bit address */
  89. #define  PCI_BASE_ADDRESS_MEM_TYPE_1M    0x02    /* Below 1M */
  90. #define  PCI_BASE_ADDRESS_MEM_TYPE_64    0x04    /* 64 bit address */
  91. #define  PCI_BASE_ADDRESS_MEM_PREFETCH    0x08    /* prefetchable? */
  92. #define  PCI_BASE_ADDRESS_MEM_MASK    (~0x0fUL)
  93. #define  PCI_BASE_ADDRESS_IO_MASK    (~0x03UL)
  94. /* bit 1 is reserved if address_space = 1 */
  95.  
  96. /* Header type 0 (normal devices) */
  97. #define PCI_CARDBUS_CIS        0x28
  98. #define PCI_SUBSYSTEM_VENDOR_ID    0x2c
  99. #define PCI_SUBSYSTEM_ID    0x2e  
  100. #define PCI_ROM_ADDRESS        0x30    /* Bits 31..11 are address, 10..1 reserved */
  101. #define  PCI_ROM_ADDRESS_ENABLE    0x01
  102. #define PCI_ROM_ADDRESS_MASK    (~0x7ffUL)
  103.  
  104. #define PCI_CAPABILITY_LIST    0x34    /* Offset of first capability list entry */
  105.  
  106. /* 0x35-0x3b are reserved */
  107. #define PCI_INTERRUPT_LINE    0x3c    /* 8 bits */
  108. #define PCI_INTERRUPT_PIN    0x3d    /* 8 bits */
  109. #define PCI_MIN_GNT        0x3e    /* 8 bits */
  110. #define PCI_MAX_LAT        0x3f    /* 8 bits */
  111.  
  112. /* Header type 1 (PCI-to-PCI bridges) */
  113. #define PCI_PRIMARY_BUS        0x18    /* Primary bus number */
  114. #define PCI_SECONDARY_BUS    0x19    /* Secondary bus number */
  115. #define PCI_SUBORDINATE_BUS    0x1a    /* Highest bus number behind the bridge */
  116. #define PCI_SEC_LATENCY_TIMER    0x1b    /* Latency timer for secondary interface */
  117. #define PCI_IO_BASE        0x1c    /* I/O range behind the bridge */
  118. #define PCI_IO_LIMIT        0x1d
  119. #define  PCI_IO_RANGE_TYPE_MASK    0x0f    /* I/O bridging type */
  120. #define  PCI_IO_RANGE_TYPE_16    0x00
  121. #define  PCI_IO_RANGE_TYPE_32    0x01
  122. #define  PCI_IO_RANGE_MASK    ~0x0f
  123. #define PCI_SEC_STATUS        0x1e    /* Secondary status register, only bit 14 used */
  124. #define PCI_MEMORY_BASE        0x20    /* Memory range behind */
  125. #define PCI_MEMORY_LIMIT    0x22
  126. #define  PCI_MEMORY_RANGE_TYPE_MASK 0x0f
  127. #define  PCI_MEMORY_RANGE_MASK    ~0x0f
  128. #define PCI_PREF_MEMORY_BASE    0x24    /* Prefetchable memory range behind */
  129. #define PCI_PREF_MEMORY_LIMIT    0x26
  130. #define  PCI_PREF_RANGE_TYPE_MASK 0x0f
  131. #define  PCI_PREF_RANGE_TYPE_32    0x00
  132. #define  PCI_PREF_RANGE_TYPE_64    0x01
  133. #define  PCI_PREF_RANGE_MASK    ~0x0f
  134. #define PCI_PREF_BASE_UPPER32    0x28    /* Upper half of prefetchable memory range */
  135. #define PCI_PREF_LIMIT_UPPER32    0x2c
  136. #define PCI_IO_BASE_UPPER16    0x30    /* Upper half of I/O addresses */
  137. #define PCI_IO_LIMIT_UPPER16    0x32
  138. /* 0x34-0x3b is reserved */
  139. #define PCI_ROM_ADDRESS1    0x38    /* Same as PCI_ROM_ADDRESS, but for htype 1 */
  140. /* 0x3c-0x3d are same as for htype 0 */
  141. #define PCI_BRIDGE_CONTROL    0x3e
  142. #define  PCI_BRIDGE_CTL_PARITY    0x01    /* Enable parity detection on secondary interface */
  143. #define  PCI_BRIDGE_CTL_SERR    0x02    /* The same for SERR forwarding */
  144. #define  PCI_BRIDGE_CTL_NO_ISA    0x04    /* Disable bridging of ISA ports */
  145. #define  PCI_BRIDGE_CTL_VGA    0x08    /* Forward VGA addresses */
  146. #define  PCI_BRIDGE_CTL_MASTER_ABORT 0x20  /* Report master aborts */
  147. #define  PCI_BRIDGE_CTL_BUS_RESET 0x40    /* Secondary bus reset */
  148. #define  PCI_BRIDGE_CTL_FAST_BACK 0x80    /* Fast Back2Back enabled on secondary interface */
  149.  
  150. /* Header type 2 (CardBus bridges) */
  151. /* 0x14-0x15 reserved */
  152. #define PCI_CB_SEC_STATUS    0x16    /* Secondary status */
  153. #define PCI_CB_PRIMARY_BUS    0x18    /* PCI bus number */
  154. #define PCI_CB_CARD_BUS        0x19    /* CardBus bus number */
  155. #define PCI_CB_SUBORDINATE_BUS    0x1a    /* Subordinate bus number */
  156. #define PCI_CB_LATENCY_TIMER    0x1b    /* CardBus latency timer */
  157. #define PCI_CB_MEMORY_BASE_0    0x1c
  158. #define PCI_CB_MEMORY_LIMIT_0    0x20
  159. #define PCI_CB_MEMORY_BASE_1    0x24
  160. #define PCI_CB_MEMORY_LIMIT_1    0x28
  161. #define PCI_CB_IO_BASE_0    0x2c
  162. #define PCI_CB_IO_BASE_0_HI    0x2e
  163. #define PCI_CB_IO_LIMIT_0    0x30
  164. #define PCI_CB_IO_LIMIT_0_HI    0x32
  165. #define PCI_CB_IO_BASE_1    0x34
  166. #define PCI_CB_IO_BASE_1_HI    0x36
  167. #define PCI_CB_IO_LIMIT_1    0x38
  168. #define PCI_CB_IO_LIMIT_1_HI    0x3a
  169. #define  PCI_CB_IO_RANGE_MASK    ~0x03
  170. /* 0x3c-0x3d are same as for htype 0 */
  171. #define PCI_CB_BRIDGE_CONTROL    0x3e
  172. #define  PCI_CB_BRIDGE_CTL_PARITY    0x01    /* Similar to standard bridge control register */
  173. #define  PCI_CB_BRIDGE_CTL_SERR        0x02
  174. #define  PCI_CB_BRIDGE_CTL_ISA        0x04
  175. #define  PCI_CB_BRIDGE_CTL_VGA        0x08
  176. #define  PCI_CB_BRIDGE_CTL_MASTER_ABORT    0x20
  177. #define  PCI_CB_BRIDGE_CTL_CB_RESET    0x40    /* CardBus reset */
  178. #define  PCI_CB_BRIDGE_CTL_16BIT_INT    0x80    /* Enable interrupt for 16-bit cards */
  179. #define  PCI_CB_BRIDGE_CTL_PREFETCH_MEM0 0x100    /* Prefetch enable for both memory regions */
  180. #define  PCI_CB_BRIDGE_CTL_PREFETCH_MEM1 0x200
  181. #define  PCI_CB_BRIDGE_CTL_POST_WRITES    0x400
  182. #define PCI_CB_SUBSYSTEM_VENDOR_ID 0x40
  183. #define PCI_CB_SUBSYSTEM_ID    0x42
  184. #define PCI_CB_LEGACY_MODE_BASE    0x44    /* 16-bit PC Card legacy mode base address (ExCa) */
  185. /* 0x48-0x7f reserved */
  186.  
  187. /* Capability lists */
  188. #define PCI_CAP_LIST_ID        0    /* Capability ID */
  189. #define  PCI_CAP_ID_PM        0x01    /* Power Management */
  190. #define  PCI_CAP_ID_AGP        0x02    /* Accelerated Graphics Port */
  191. #define PCI_CAP_LIST_NEXT    1    /* Next capability in the list */
  192.  
  193. /* Device classes and subclasses */
  194.  
  195. #define PCI_CLASS_NOT_DEFINED        0x0000
  196. #define PCI_CLASS_NOT_DEFINED_VGA    0x0001
  197.  
  198. #define PCI_BASE_CLASS_STORAGE        0x01
  199. #define PCI_CLASS_STORAGE_SCSI        0x0100
  200. #define PCI_CLASS_STORAGE_IDE        0x0101
  201. #define PCI_CLASS_STORAGE_FLOPPY    0x0102
  202. #define PCI_CLASS_STORAGE_IPI        0x0103
  203. #define PCI_CLASS_STORAGE_RAID        0x0104
  204. #define PCI_CLASS_STORAGE_OTHER        0x0180
  205.  
  206. #define PCI_BASE_CLASS_NETWORK        0x02
  207. #define PCI_CLASS_NETWORK_ETHERNET    0x0200
  208. #define PCI_CLASS_NETWORK_TOKEN_RING    0x0201
  209. #define PCI_CLASS_NETWORK_FDDI        0x0202
  210. #define PCI_CLASS_NETWORK_ATM        0x0203
  211. #define PCI_CLASS_NETWORK_OTHER        0x0280
  212.  
  213. #define PCI_BASE_CLASS_DISPLAY        0x03
  214. #define PCI_CLASS_DISPLAY_VGA        0x0300
  215. #define PCI_CLASS_DISPLAY_XGA        0x0301
  216. #define PCI_CLASS_DISPLAY_OTHER        0x0380
  217.  
  218. #define PCI_BASE_CLASS_MULTIMEDIA    0x04
  219. #define PCI_CLASS_MULTIMEDIA_VIDEO    0x0400
  220. #define PCI_CLASS_MULTIMEDIA_AUDIO    0x0401
  221. #define PCI_CLASS_MULTIMEDIA_OTHER    0x0480
  222.  
  223. #define PCI_BASE_CLASS_MEMORY        0x05
  224. #define  PCI_CLASS_MEMORY_RAM        0x0500
  225. #define  PCI_CLASS_MEMORY_FLASH        0x0501
  226. #define  PCI_CLASS_MEMORY_OTHER        0x0580
  227.  
  228. #define PCI_BASE_CLASS_BRIDGE        0x06
  229. #define  PCI_CLASS_BRIDGE_HOST        0x0600
  230. #define  PCI_CLASS_BRIDGE_ISA        0x0601
  231. #define  PCI_CLASS_BRIDGE_EISA        0x0602
  232. #define  PCI_CLASS_BRIDGE_MC        0x0603
  233. #define  PCI_CLASS_BRIDGE_PCI        0x0604
  234. #define  PCI_CLASS_BRIDGE_PCMCIA    0x0605
  235. #define  PCI_CLASS_BRIDGE_NUBUS        0x0606
  236. #define  PCI_CLASS_BRIDGE_CARDBUS    0x0607
  237. #define  PCI_CLASS_BRIDGE_OTHER        0x0680
  238.  
  239. #define PCI_BASE_CLASS_COMMUNICATION    0x07
  240. #define PCI_CLASS_COMMUNICATION_SERIAL    0x0700
  241. #define PCI_CLASS_COMMUNICATION_PARALLEL 0x0701
  242. #define PCI_CLASS_COMMUNICATION_OTHER    0x0780
  243.  
  244. #define PCI_BASE_CLASS_SYSTEM        0x08
  245. #define PCI_CLASS_SYSTEM_PIC        0x0800
  246. #define PCI_CLASS_SYSTEM_DMA        0x0801
  247. #define PCI_CLASS_SYSTEM_TIMER        0x0802
  248. #define PCI_CLASS_SYSTEM_RTC        0x0803
  249. #define PCI_CLASS_SYSTEM_OTHER        0x0880
  250.  
  251. #define PCI_BASE_CLASS_INPUT        0x09
  252. #define PCI_CLASS_INPUT_KEYBOARD    0x0900
  253. #define PCI_CLASS_INPUT_PEN        0x0901
  254. #define PCI_CLASS_INPUT_MOUSE        0x0902
  255. #define PCI_CLASS_INPUT_OTHER        0x0980
  256.  
  257. #define PCI_BASE_CLASS_DOCKING        0x0a
  258. #define PCI_CLASS_DOCKING_GENERIC    0x0a00
  259. #define PCI_CLASS_DOCKING_OTHER        0x0a01
  260.  
  261. #define PCI_BASE_CLASS_PROCESSOR    0x0b
  262. #define PCI_CLASS_PROCESSOR_386        0x0b00
  263. #define PCI_CLASS_PROCESSOR_486        0x0b01
  264. #define PCI_CLASS_PROCESSOR_PENTIUM    0x0b02
  265. #define PCI_CLASS_PROCESSOR_ALPHA    0x0b10
  266. #define PCI_CLASS_PROCESSOR_POWERPC    0x0b20
  267. #define PCI_CLASS_PROCESSOR_CO        0x0b40
  268.  
  269. #define PCI_BASE_CLASS_SERIAL        0x0c
  270. #define PCI_CLASS_SERIAL_FIREWIRE    0x0c00
  271. #define PCI_CLASS_SERIAL_ACCESS        0x0c01
  272. #define PCI_CLASS_SERIAL_SSA        0x0c02
  273. #define PCI_CLASS_SERIAL_USB        0x0c03
  274. #define PCI_CLASS_SERIAL_FIBER        0x0c04
  275.  
  276. #define PCI_CLASS_OTHERS        0xff
  277.  
  278. /*
  279.  * Vendor and card ID's: sort these numerically according to vendor
  280.  * (and according to card ID within vendor). Send all updates to
  281.  * <linux-pcisupport@cck.uni-kl.de>.
  282.  */
  283. #define PCI_VENDOR_ID_COMPAQ        0x0e11
  284. #define PCI_DEVICE_ID_COMPAQ_1280    0x3033
  285. #define PCI_DEVICE_ID_COMPAQ_TRIFLEX    0x4000
  286. #define PCI_DEVICE_ID_COMPAQ_SMART2P    0xae10
  287. #define PCI_DEVICE_ID_COMPAQ_NETEL100    0xae32
  288. #define PCI_DEVICE_ID_COMPAQ_NETEL10    0xae34
  289. #define PCI_DEVICE_ID_COMPAQ_NETFLEX3I    0xae35
  290. #define PCI_DEVICE_ID_COMPAQ_NETEL100D    0xae40
  291. #define PCI_DEVICE_ID_COMPAQ_NETEL100PI    0xae43
  292. #define PCI_DEVICE_ID_COMPAQ_NETEL100I    0xb011
  293. #define PCI_DEVICE_ID_COMPAQ_THUNDER    0xf130
  294. #define PCI_DEVICE_ID_COMPAQ_NETFLEX3B    0xf150
  295.  
  296. #define PCI_VENDOR_ID_NCR        0x1000
  297. #define PCI_DEVICE_ID_NCR_53C810    0x0001
  298. #define PCI_DEVICE_ID_NCR_53C820    0x0002
  299. #define PCI_DEVICE_ID_NCR_53C825    0x0003
  300. #define PCI_DEVICE_ID_NCR_53C815    0x0004
  301. #define PCI_DEVICE_ID_NCR_53C860    0x0006
  302. #define PCI_DEVICE_ID_NCR_53C896    0x000b
  303. #define PCI_DEVICE_ID_NCR_53C895    0x000c
  304. #define PCI_DEVICE_ID_NCR_53C885    0x000d
  305. #define PCI_DEVICE_ID_NCR_53C875    0x000f
  306. #define PCI_DEVICE_ID_NCR_53C875J    0x008f
  307.  
  308. #define PCI_VENDOR_ID_ATI        0x1002
  309. #define PCI_DEVICE_ID_ATI_68800        0x4158
  310. #define PCI_DEVICE_ID_ATI_215CT222    0x4354
  311. #define PCI_DEVICE_ID_ATI_210888CX    0x4358
  312. #define PCI_DEVICE_ID_ATI_215GB        0x4742
  313. #define PCI_DEVICE_ID_ATI_215GD        0x4744
  314. #define PCI_DEVICE_ID_ATI_215GI        0x4749
  315. #define PCI_DEVICE_ID_ATI_215GP        0x4750
  316. #define PCI_DEVICE_ID_ATI_215GQ        0x4751
  317. #define PCI_DEVICE_ID_ATI_215GT        0x4754
  318. #define PCI_DEVICE_ID_ATI_215GTB    0x4755
  319. #define PCI_DEVICE_ID_ATI_210888GX    0x4758
  320. #define PCI_DEVICE_ID_ATI_215LG        0x4c47
  321. #define PCI_DEVICE_ID_ATI_264LT        0x4c54
  322. #define PCI_DEVICE_ID_ATI_264VT        0x5654
  323.  
  324. #define PCI_VENDOR_ID_VLSI        0x1004
  325. #define PCI_DEVICE_ID_VLSI_82C592    0x0005
  326. #define PCI_DEVICE_ID_VLSI_82C593    0x0006
  327. #define PCI_DEVICE_ID_VLSI_82C594    0x0007
  328. #define PCI_DEVICE_ID_VLSI_82C597    0x0009
  329. #define PCI_DEVICE_ID_VLSI_82C541    0x000c
  330. #define PCI_DEVICE_ID_VLSI_82C543    0x000d
  331. #define PCI_DEVICE_ID_VLSI_82C532    0x0101
  332. #define PCI_DEVICE_ID_VLSI_82C534    0x0102
  333. #define PCI_DEVICE_ID_VLSI_82C535    0x0104
  334. #define PCI_DEVICE_ID_VLSI_82C147    0x0105
  335. #define PCI_DEVICE_ID_VLSI_VAS96011    0x0702
  336.  
  337. #define PCI_VENDOR_ID_ADL        0x1005
  338. #define PCI_DEVICE_ID_ADL_2301        0x2301
  339.  
  340. #define PCI_VENDOR_ID_NS        0x100b
  341. #define PCI_DEVICE_ID_NS_87415        0x0002
  342. #define PCI_DEVICE_ID_NS_87410        0xd001
  343.  
  344. #define PCI_VENDOR_ID_TSENG        0x100c
  345. #define PCI_DEVICE_ID_TSENG_W32P_2    0x3202
  346. #define PCI_DEVICE_ID_TSENG_W32P_b    0x3205
  347. #define PCI_DEVICE_ID_TSENG_W32P_c    0x3206
  348. #define PCI_DEVICE_ID_TSENG_W32P_d    0x3207
  349. #define PCI_DEVICE_ID_TSENG_ET6000    0x3208
  350.  
  351. #define PCI_VENDOR_ID_WEITEK        0x100e
  352. #define PCI_DEVICE_ID_WEITEK_P9000    0x9001
  353. #define PCI_DEVICE_ID_WEITEK_P9100    0x9100
  354.  
  355. #define PCI_VENDOR_ID_DEC        0x1011
  356. #define PCI_DEVICE_ID_DEC_BRD        0x0001
  357. #define PCI_DEVICE_ID_DEC_TULIP        0x0002
  358. #define PCI_DEVICE_ID_DEC_TGA        0x0004
  359. #define PCI_DEVICE_ID_DEC_TULIP_FAST    0x0009
  360. #define PCI_DEVICE_ID_DEC_TGA2        0x000D
  361. #define PCI_DEVICE_ID_DEC_FDDI        0x000F
  362. #define PCI_DEVICE_ID_DEC_TULIP_PLUS    0x0014
  363. #define PCI_DEVICE_ID_DEC_21142        0x0019
  364. #define PCI_DEVICE_ID_DEC_21052        0x0021
  365. #define PCI_DEVICE_ID_DEC_21150        0x0022
  366. #define PCI_DEVICE_ID_DEC_21152        0x0024
  367. #define PCI_DEVICE_ID_DEC_21153        0x0025
  368.  
  369. #define PCI_VENDOR_ID_CIRRUS        0x1013
  370. #define PCI_DEVICE_ID_CIRRUS_7548    0x0038
  371. #define PCI_DEVICE_ID_CIRRUS_5430    0x00a0
  372. #define PCI_DEVICE_ID_CIRRUS_5434_4    0x00a4
  373. #define PCI_DEVICE_ID_CIRRUS_5434_8    0x00a8
  374. #define PCI_DEVICE_ID_CIRRUS_5436    0x00ac
  375. #define PCI_DEVICE_ID_CIRRUS_5446    0x00b8
  376. #define PCI_DEVICE_ID_CIRRUS_5480    0x00bc
  377. #define PCI_DEVICE_ID_CIRRUS_5464    0x00d4
  378. #define PCI_DEVICE_ID_CIRRUS_5465    0x00d6
  379. #define PCI_DEVICE_ID_CIRRUS_6729    0x1100
  380. #define PCI_DEVICE_ID_CIRRUS_6832    0x1110
  381. #define PCI_DEVICE_ID_CIRRUS_7542    0x1200
  382. #define PCI_DEVICE_ID_CIRRUS_7543    0x1202
  383. #define PCI_DEVICE_ID_CIRRUS_7541    0x1204
  384.  
  385. #define PCI_VENDOR_ID_IBM        0x1014
  386. #define PCI_DEVICE_ID_IBM_FIRE_CORAL    0x000a
  387. #define PCI_DEVICE_ID_IBM_TR        0x0018
  388. #define PCI_DEVICE_ID_IBM_82G2675    0x001d
  389. #define PCI_DEVICE_ID_IBM_MCA        0x0020
  390. #define PCI_DEVICE_ID_IBM_82351        0x0022
  391. #define PCI_DEVICE_ID_IBM_PYTHON    0x002d
  392. #define PCI_DEVICE_ID_IBM_SERVERAID    0x002e
  393. #define PCI_DEVICE_ID_IBM_TR_WAKE    0x003e
  394. #define PCI_DEVICE_ID_IBM_MPIC        0x0046
  395. #define PCI_DEVICE_ID_IBM_3780IDSP    0x007d
  396. #define PCI_DEVICE_ID_IBM_MPIC_2    0xffff
  397.  
  398. #define PCI_VENDOR_ID_WD        0x101c
  399. #define PCI_DEVICE_ID_WD_7197        0x3296
  400.  
  401. #define PCI_VENDOR_ID_AMD        0x1022
  402. #define PCI_DEVICE_ID_AMD_LANCE        0x2000
  403. #define PCI_DEVICE_ID_AMD_SCSI        0x2020
  404.  
  405. #define PCI_VENDOR_ID_TRIDENT        0x1023
  406. #define PCI_DEVICE_ID_TRIDENT_9397    0x9397
  407. #define PCI_DEVICE_ID_TRIDENT_9420    0x9420
  408. #define PCI_DEVICE_ID_TRIDENT_9440    0x9440
  409. #define PCI_DEVICE_ID_TRIDENT_9660    0x9660
  410. #define PCI_DEVICE_ID_TRIDENT_9750    0x9750
  411.  
  412. #define PCI_VENDOR_ID_AI        0x1025
  413. #define PCI_DEVICE_ID_AI_M1435        0x1435
  414.  
  415. #define PCI_VENDOR_ID_MATROX        0x102B
  416. #define PCI_DEVICE_ID_MATROX_MGA_2    0x0518
  417. #define PCI_DEVICE_ID_MATROX_MIL    0x0519
  418. #define PCI_DEVICE_ID_MATROX_MYS    0x051A
  419. #define PCI_DEVICE_ID_MATROX_MIL_2    0x051b
  420. #define PCI_DEVICE_ID_MATROX_MIL_2_AGP    0x051f
  421. #define PCI_DEVICE_ID_MATROX_G200_PCI   0x0520
  422. #define PCI_DEVICE_ID_MATROX_G200_AGP   0x0521
  423. #define PCI_DEVICE_ID_MATROX_MGA_IMP    0x0d10
  424. #define PCI_DEVICE_ID_MATROX_G100_MM    0x1000
  425. #define PCI_DEVICE_ID_MATROX_G100_AGP   0x1001
  426.  
  427. #define PCI_VENDOR_ID_CT        0x102c
  428. #define PCI_DEVICE_ID_CT_65545        0x00d8
  429. #define PCI_DEVICE_ID_CT_65548        0x00dc
  430. #define PCI_DEVICE_ID_CT_65550        0x00e0
  431. #define PCI_DEVICE_ID_CT_65554        0x00e4
  432. #define PCI_DEVICE_ID_CT_65555        0x00e5
  433.  
  434. #define PCI_VENDOR_ID_MIRO        0x1031
  435. #define PCI_DEVICE_ID_MIRO_36050    0x5601
  436.  
  437. #define PCI_VENDOR_ID_NEC        0x1033
  438. #define PCI_DEVICE_ID_NEC_PCX2        0x0046
  439.  
  440. #define PCI_VENDOR_ID_FD        0x1036
  441. #define PCI_DEVICE_ID_FD_36C70        0x0000
  442.  
  443. #define PCI_VENDOR_ID_SI        0x1039
  444. #define PCI_DEVICE_ID_SI_5591_AGP    0x0001
  445. #define PCI_DEVICE_ID_SI_6202        0x0002
  446. #define PCI_DEVICE_ID_SI_503        0x0008
  447. #define PCI_DEVICE_ID_SI_ACPI        0x0009
  448. #define PCI_DEVICE_ID_SI_5597_VGA    0x0200
  449. #define PCI_DEVICE_ID_SI_6205        0x0205
  450. #define PCI_DEVICE_ID_SI_501        0x0406
  451. #define PCI_DEVICE_ID_SI_496        0x0496
  452. #define PCI_DEVICE_ID_SI_601        0x0601
  453. #define PCI_DEVICE_ID_SI_5107        0x5107
  454. #define PCI_DEVICE_ID_SI_5511        0x5511
  455. #define PCI_DEVICE_ID_SI_5513        0x5513
  456. #define PCI_DEVICE_ID_SI_5571        0x5571
  457. #define PCI_DEVICE_ID_SI_5591        0x5591
  458. #define PCI_DEVICE_ID_SI_5597        0x5597
  459. #define PCI_DEVICE_ID_SI_7001        0x7001
  460.  
  461. #define PCI_VENDOR_ID_HP        0x103c
  462. #define PCI_DEVICE_ID_HP_J2585A        0x1030
  463. #define PCI_DEVICE_ID_HP_J2585B        0x1031
  464.  
  465. #define PCI_VENDOR_ID_PCTECH        0x1042
  466. #define PCI_DEVICE_ID_PCTECH_RZ1000    0x1000
  467. #define PCI_DEVICE_ID_PCTECH_RZ1001    0x1001
  468. #define PCI_DEVICE_ID_PCTECH_SAMURAI_0    0x3000
  469. #define PCI_DEVICE_ID_PCTECH_SAMURAI_1    0x3010
  470. #define PCI_DEVICE_ID_PCTECH_SAMURAI_IDE 0x3020
  471.  
  472. #define PCI_VENDOR_ID_DPT               0x1044   
  473. #define PCI_DEVICE_ID_DPT               0xa400  
  474.  
  475. #define PCI_VENDOR_ID_OPTI        0x1045
  476. #define PCI_DEVICE_ID_OPTI_92C178    0xc178
  477. #define PCI_DEVICE_ID_OPTI_82C557    0xc557
  478. #define PCI_DEVICE_ID_OPTI_82C558    0xc558
  479. #define PCI_DEVICE_ID_OPTI_82C621    0xc621
  480. #define PCI_DEVICE_ID_OPTI_82C700    0xc700
  481. #define PCI_DEVICE_ID_OPTI_82C701    0xc701
  482. #define PCI_DEVICE_ID_OPTI_82C814    0xc814
  483. #define PCI_DEVICE_ID_OPTI_82C822    0xc822
  484. #define PCI_DEVICE_ID_OPTI_82C861    0xc861
  485. #define PCI_DEVICE_ID_OPTI_82C825    0xd568
  486.  
  487. #define PCI_VENDOR_ID_SGS        0x104a
  488. #define PCI_DEVICE_ID_SGS_2000        0x0008
  489. #define PCI_DEVICE_ID_SGS_1764        0x0009
  490.  
  491. #define PCI_VENDOR_ID_BUSLOGIC              0x104B
  492. #define PCI_DEVICE_ID_BUSLOGIC_MULTIMASTER_NC 0x0140
  493. #define PCI_DEVICE_ID_BUSLOGIC_MULTIMASTER    0x1040
  494. #define PCI_DEVICE_ID_BUSLOGIC_FLASHPOINT     0x8130
  495.  
  496. #define PCI_VENDOR_ID_TI        0x104c
  497. #define PCI_DEVICE_ID_TI_TVP4010    0x3d04
  498. #define PCI_DEVICE_ID_TI_TVP4020    0x3d07
  499. #define PCI_DEVICE_ID_TI_PCI1130    0xac12
  500. #define PCI_DEVICE_ID_TI_PCI1031    0xac13
  501. #define PCI_DEVICE_ID_TI_PCI1131    0xac15
  502. #define PCI_DEVICE_ID_TI_PCI1250    0xac16
  503. #define PCI_DEVICE_ID_TI_PCI1220    0xac17
  504.  
  505. #define PCI_VENDOR_ID_OAK        0x104e
  506. #define PCI_DEVICE_ID_OAK_OTI107    0x0107
  507.  
  508. /* Winbond have two vendor IDs! See 0x10ad as well */
  509. #define PCI_VENDOR_ID_WINBOND2        0x1050
  510. #define PCI_DEVICE_ID_WINBOND2_89C940    0x0940
  511.  
  512. #define PCI_VENDOR_ID_MOTOROLA        0x1057
  513. #define PCI_DEVICE_ID_MOTOROLA_MPC105    0x0001
  514. #define PCI_DEVICE_ID_MOTOROLA_MPC106    0x0002
  515. #define PCI_DEVICE_ID_MOTOROLA_RAVEN    0x4801
  516.  
  517. #define PCI_VENDOR_ID_PROMISE        0x105a
  518. #define PCI_DEVICE_ID_PROMISE_20246    0x4d33
  519. #define PCI_DEVICE_ID_PROMISE_5300    0x5300
  520.  
  521. #define PCI_VENDOR_ID_N9        0x105d
  522. #define PCI_DEVICE_ID_N9_I128        0x2309
  523. #define PCI_DEVICE_ID_N9_I128_2        0x2339
  524. #define PCI_DEVICE_ID_N9_I128_T2R    0x493d
  525.  
  526. #define PCI_VENDOR_ID_UMC        0x1060
  527. #define PCI_DEVICE_ID_UMC_UM8673F    0x0101
  528. #define PCI_DEVICE_ID_UMC_UM8891A    0x0891
  529. #define PCI_DEVICE_ID_UMC_UM8886BF    0x673a
  530. #define PCI_DEVICE_ID_UMC_UM8886A    0x886a
  531. #define PCI_DEVICE_ID_UMC_UM8881F    0x8881
  532. #define PCI_DEVICE_ID_UMC_UM8886F    0x8886
  533. #define PCI_DEVICE_ID_UMC_UM9017F    0x9017
  534. #define PCI_DEVICE_ID_UMC_UM8886N    0xe886
  535. #define PCI_DEVICE_ID_UMC_UM8891N    0xe891
  536.  
  537. #define PCI_VENDOR_ID_X            0x1061
  538. #define PCI_DEVICE_ID_X_AGX016        0x0001
  539.  
  540. #define PCI_VENDOR_ID_PICOP        0x1066
  541. #define PCI_DEVICE_ID_PICOP_PT86C52X    0x0001
  542. #define PCI_DEVICE_ID_PICOP_PT80C524    0x8002
  543.  
  544. #define PCI_VENDOR_ID_APPLE        0x106b
  545. #define PCI_DEVICE_ID_APPLE_BANDIT    0x0001
  546. #define PCI_DEVICE_ID_APPLE_GC        0x0002
  547. #define PCI_DEVICE_ID_APPLE_HYDRA    0x000e
  548.  
  549. #define PCI_VENDOR_ID_NEXGEN        0x1074
  550. #define PCI_DEVICE_ID_NEXGEN_82C501    0x4e78
  551.  
  552. #define PCI_VENDOR_ID_QLOGIC        0x1077
  553. #define PCI_DEVICE_ID_QLOGIC_ISP1020    0x1020
  554. #define PCI_DEVICE_ID_QLOGIC_ISP1022    0x1022
  555. #define PCI_DEVICE_ID_QLOGIC_ISP2100    0x2100
  556.  
  557. #define PCI_VENDOR_ID_CYRIX        0x1078
  558. #define PCI_DEVICE_ID_CYRIX_5510    0x0000
  559. #define PCI_DEVICE_ID_CYRIX_PCI_MASTER    0x0001
  560. #define PCI_DEVICE_ID_CYRIX_5520    0x0002
  561. #define PCI_DEVICE_ID_CYRIX_5530_LEGACY    0x0100
  562. #define PCI_DEVICE_ID_CYRIX_5530_SMI    0x0101
  563. #define PCI_DEVICE_ID_CYRIX_5530_IDE    0x0102
  564. #define PCI_DEVICE_ID_CYRIX_5530_AUDIO    0x0103
  565. #define PCI_DEVICE_ID_CYRIX_5530_VIDEO    0x0104
  566.  
  567. #define PCI_VENDOR_ID_LEADTEK        0x107d
  568. #define PCI_DEVICE_ID_LEADTEK_805    0x0000
  569.  
  570. #define PCI_VENDOR_ID_CONTAQ        0x1080
  571. #define PCI_DEVICE_ID_CONTAQ_82C599    0x0600
  572. #define PCI_DEVICE_ID_CONTAQ_82C693    0xc693
  573.  
  574. #define PCI_VENDOR_ID_FOREX        0x1083
  575.  
  576. #define PCI_VENDOR_ID_OLICOM        0x108d
  577. #define PCI_DEVICE_ID_OLICOM_OC3136    0x0001
  578. #define PCI_DEVICE_ID_OLICOM_OC2315    0x0011
  579. #define PCI_DEVICE_ID_OLICOM_OC2325    0x0012
  580. #define PCI_DEVICE_ID_OLICOM_OC2183    0x0013
  581. #define PCI_DEVICE_ID_OLICOM_OC2326    0x0014
  582. #define PCI_DEVICE_ID_OLICOM_OC6151    0x0021
  583.  
  584. #define PCI_VENDOR_ID_SUN        0x108e
  585. #define PCI_DEVICE_ID_SUN_EBUS        0x1000
  586. #define PCI_DEVICE_ID_SUN_HAPPYMEAL    0x1001
  587. #define PCI_DEVICE_ID_SUN_SIMBA        0x5000
  588. #define PCI_DEVICE_ID_SUN_PBM        0x8000
  589. #define PCI_DEVICE_ID_SUN_SABRE        0xa000
  590.  
  591. #define PCI_VENDOR_ID_CMD        0x1095
  592. #define PCI_DEVICE_ID_CMD_640        0x0640
  593. #define PCI_DEVICE_ID_CMD_643        0x0643
  594. #define PCI_DEVICE_ID_CMD_646        0x0646
  595. #define PCI_DEVICE_ID_CMD_647        0x0647
  596. #define PCI_DEVICE_ID_CMD_670        0x0670
  597.  
  598. #define PCI_VENDOR_ID_VISION        0x1098
  599. #define PCI_DEVICE_ID_VISION_QD8500    0x0001
  600. #define PCI_DEVICE_ID_VISION_QD8580    0x0002
  601.  
  602. #define PCI_VENDOR_ID_BROOKTREE        0x109e
  603. #define PCI_DEVICE_ID_BROOKTREE_848    0x0350
  604. #define PCI_DEVICE_ID_BROOKTREE_849A    0x0351
  605. #define PCI_DEVICE_ID_BROOKTREE_878_1   0x036e
  606. #define PCI_DEVICE_ID_BROOKTREE_878     0x0878
  607. #define PCI_DEVICE_ID_BROOKTREE_8474    0x8474
  608.  
  609. #define PCI_VENDOR_ID_SIERRA        0x10a8
  610. #define PCI_DEVICE_ID_SIERRA_STB    0x0000
  611.  
  612. #define PCI_VENDOR_ID_ACC        0x10aa
  613. #define PCI_DEVICE_ID_ACC_2056        0x0000
  614.  
  615. #define PCI_VENDOR_ID_WINBOND        0x10ad
  616. #define PCI_DEVICE_ID_WINBOND_83769    0x0001
  617. #define PCI_DEVICE_ID_WINBOND_82C105    0x0105
  618. #define PCI_DEVICE_ID_WINBOND_83C553    0x0565
  619.  
  620. #define PCI_VENDOR_ID_DATABOOK        0x10b3
  621. #define PCI_DEVICE_ID_DATABOOK_87144    0xb106
  622.  
  623. #define PCI_VENDOR_ID_PLX        0x10b5
  624. #define PCI_DEVICE_ID_PLX_9050        0x9050
  625. #define PCI_DEVICE_ID_PLX_9060        0x9060
  626. #define PCI_DEVICE_ID_PLX_9060ES    0x906E
  627. #define PCI_DEVICE_ID_PLX_9060SD    0x906D
  628. #define PCI_DEVICE_ID_PLX_9080        0x9080
  629.  
  630. #define PCI_VENDOR_ID_MADGE        0x10b6
  631. #define PCI_DEVICE_ID_MADGE_MK2        0x0002
  632. #define PCI_DEVICE_ID_MADGE_C155S    0x1001
  633.  
  634. #define PCI_VENDOR_ID_3COM        0x10b7
  635. #define PCI_DEVICE_ID_3COM_3C985    0x0001
  636. #define PCI_DEVICE_ID_3COM_3C339    0x3390
  637. #define PCI_DEVICE_ID_3COM_3C590    0x5900
  638. #define PCI_DEVICE_ID_3COM_3C595TX    0x5950
  639. #define PCI_DEVICE_ID_3COM_3C595T4    0x5951
  640. #define PCI_DEVICE_ID_3COM_3C595MII    0x5952
  641. #define PCI_DEVICE_ID_3COM_3C900TPO    0x9000
  642. #define PCI_DEVICE_ID_3COM_3C900COMBO    0x9001
  643. #define PCI_DEVICE_ID_3COM_3C905TX    0x9050
  644. #define PCI_DEVICE_ID_3COM_3C905T4    0x9051
  645. #define PCI_DEVICE_ID_3COM_3C905B_TX    0x9055
  646.  
  647. #define PCI_VENDOR_ID_SMC        0x10b8
  648. #define PCI_DEVICE_ID_SMC_EPIC100    0x0005
  649.  
  650. #define PCI_VENDOR_ID_AL        0x10b9
  651. #define PCI_DEVICE_ID_AL_M1445        0x1445
  652. #define PCI_DEVICE_ID_AL_M1449        0x1449
  653. #define PCI_DEVICE_ID_AL_M1451        0x1451
  654. #define PCI_DEVICE_ID_AL_M1461        0x1461
  655. #define PCI_DEVICE_ID_AL_M1489        0x1489
  656. #define PCI_DEVICE_ID_AL_M1511        0x1511
  657. #define PCI_DEVICE_ID_AL_M1513        0x1513
  658. #define PCI_DEVICE_ID_AL_M1521        0x1521
  659. #define PCI_DEVICE_ID_AL_M1523        0x1523
  660. #define PCI_DEVICE_ID_AL_M1531        0x1531
  661. #define PCI_DEVICE_ID_AL_M1533        0x1533
  662. #define PCI_DEVICE_ID_AL_M3307        0x3307
  663. #define PCI_DEVICE_ID_AL_M4803        0x5215
  664. #define PCI_DEVICE_ID_AL_M5219        0x5219
  665. #define PCI_DEVICE_ID_AL_M5229        0x5229
  666. #define PCI_DEVICE_ID_AL_M5237        0x5237
  667. #define PCI_DEVICE_ID_AL_M7101        0x7101
  668.  
  669. #define PCI_VENDOR_ID_MITSUBISHI    0x10ba
  670.  
  671. #define PCI_VENDOR_ID_SURECOM        0x10bd
  672. #define PCI_DEVICE_ID_SURECOM_NE34    0x0e34
  673.  
  674. #define PCI_VENDOR_ID_NEOMAGIC          0x10c8
  675. #define PCI_DEVICE_ID_NEOMAGIC_MAGICGRAPH_NM2070 0x0001
  676. #define PCI_DEVICE_ID_NEOMAGIC_MAGICGRAPH_128V 0x0002
  677. #define PCI_DEVICE_ID_NEOMAGIC_MAGICGRAPH_128ZV 0x0003
  678. #define PCI_DEVICE_ID_NEOMAGIC_MAGICGRAPH_NM2160 0x0004
  679.  
  680. #define PCI_VENDOR_ID_ASP        0x10cd
  681. #define PCI_DEVICE_ID_ASP_ABP940    0x1200
  682. #define PCI_DEVICE_ID_ASP_ABP940U    0x1300
  683. #define PCI_DEVICE_ID_ASP_ABP940UW    0x2300
  684.  
  685. #define PCI_VENDOR_ID_MACRONIX        0x10d9
  686. #define PCI_DEVICE_ID_MACRONIX_MX98713    0x0512
  687. #define PCI_DEVICE_ID_MACRONIX_MX987x5    0x0531
  688.  
  689. #define PCI_VENDOR_ID_CERN        0x10dc
  690. #define PCI_DEVICE_ID_CERN_SPSB_PMC    0x0001
  691. #define PCI_DEVICE_ID_CERN_SPSB_PCI    0x0002
  692. #define PCI_DEVICE_ID_CERN_HIPPI_DST    0x0021
  693. #define PCI_DEVICE_ID_CERN_HIPPI_SRC    0x0022
  694.  
  695. #define PCI_VENDOR_ID_NVIDIA        0x10de
  696.  
  697. #define PCI_VENDOR_ID_IMS        0x10e0
  698. #define PCI_DEVICE_ID_IMS_8849        0x8849
  699.  
  700. #define PCI_VENDOR_ID_TEKRAM2        0x10e1
  701. #define PCI_DEVICE_ID_TEKRAM2_690c    0x690c
  702.  
  703. #define PCI_VENDOR_ID_TUNDRA        0x10e3
  704. #define PCI_DEVICE_ID_TUNDRA_CA91C042    0x0000
  705.  
  706. #define PCI_VENDOR_ID_AMCC        0x10e8
  707. #define PCI_DEVICE_ID_AMCC_MYRINET    0x8043
  708. #define PCI_DEVICE_ID_AMCC_PARASTATION    0x8062
  709. #define PCI_DEVICE_ID_AMCC_S5933    0x807d
  710. #define PCI_DEVICE_ID_AMCC_S5933_HEPC3    0x809c
  711.  
  712. #define PCI_VENDOR_ID_INTERG        0x10ea
  713. #define PCI_DEVICE_ID_INTERG_1680    0x1680
  714. #define PCI_DEVICE_ID_INTERG_1682    0x1682
  715.  
  716. #define PCI_VENDOR_ID_REALTEK        0x10ec
  717. #define PCI_DEVICE_ID_REALTEK_8029    0x8029
  718. #define PCI_DEVICE_ID_REALTEK_8129    0x8129
  719. #define PCI_DEVICE_ID_REALTEK_8139    0x8139
  720.  
  721. #define PCI_VENDOR_ID_TRUEVISION    0x10fa
  722. #define PCI_DEVICE_ID_TRUEVISION_T1000    0x000c
  723.  
  724. #define PCI_VENDOR_ID_INIT        0x1101
  725. #define PCI_DEVICE_ID_INIT_320P        0x9100
  726. #define PCI_DEVICE_ID_INIT_360P        0x9500
  727.  
  728. #define PCI_VENDOR_ID_TTI        0x1103
  729. #define PCI_DEVICE_ID_TTI_HPT343    0x0003
  730.  
  731. #define PCI_VENDOR_ID_VIA        0x1106
  732. #define PCI_DEVICE_ID_VIA_82C505    0x0505
  733. #define PCI_DEVICE_ID_VIA_82C561    0x0561
  734. #define PCI_DEVICE_ID_VIA_82C586_1    0x0571
  735. #define PCI_DEVICE_ID_VIA_82C576    0x0576
  736. #define PCI_DEVICE_ID_VIA_82C585    0x0585
  737. #define PCI_DEVICE_ID_VIA_82C586_0    0x0586
  738. #define PCI_DEVICE_ID_VIA_82C595    0x0595
  739. #define PCI_DEVICE_ID_VIA_82C597_0    0x0597
  740. #define PCI_DEVICE_ID_VIA_82C598_0      0x0598
  741. #define PCI_DEVICE_ID_VIA_82C926    0x0926
  742. #define PCI_DEVICE_ID_VIA_82C416    0x1571
  743. #define PCI_DEVICE_ID_VIA_82C595_97    0x1595
  744. #define PCI_DEVICE_ID_VIA_82C586_2    0x3038
  745. #define PCI_DEVICE_ID_VIA_82C586_3    0x3040
  746. #define PCI_DEVICE_ID_VIA_86C100A    0x6100
  747. #define PCI_DEVICE_ID_VIA_82C597_1    0x8597
  748. #define PCI_DEVICE_ID_VIA_82C598_1      0x8598
  749.  
  750. #define PCI_VENDOR_ID_SMC2             0x1113
  751. #define PCI_DEVICE_ID_SMC2_1211TX      0x1211
  752.  
  753. #define PCI_VENDOR_ID_VORTEX        0x1119
  754. #define PCI_DEVICE_ID_VORTEX_GDT60x0    0x0000
  755. #define PCI_DEVICE_ID_VORTEX_GDT6000B    0x0001
  756. #define PCI_DEVICE_ID_VORTEX_GDT6x10    0x0002
  757. #define PCI_DEVICE_ID_VORTEX_GDT6x20    0x0003
  758. #define PCI_DEVICE_ID_VORTEX_GDT6530    0x0004
  759. #define PCI_DEVICE_ID_VORTEX_GDT6550    0x0005
  760. #define PCI_DEVICE_ID_VORTEX_GDT6x17    0x0006
  761. #define PCI_DEVICE_ID_VORTEX_GDT6x27    0x0007
  762. #define PCI_DEVICE_ID_VORTEX_GDT6537    0x0008
  763. #define PCI_DEVICE_ID_VORTEX_GDT6557    0x0009
  764. #define PCI_DEVICE_ID_VORTEX_GDT6x15    0x000a
  765. #define PCI_DEVICE_ID_VORTEX_GDT6x25    0x000b
  766. #define PCI_DEVICE_ID_VORTEX_GDT6535    0x000c
  767. #define PCI_DEVICE_ID_VORTEX_GDT6555    0x000d
  768. #define PCI_DEVICE_ID_VORTEX_GDT6x17RP    0x0100
  769. #define PCI_DEVICE_ID_VORTEX_GDT6x27RP    0x0101
  770. #define PCI_DEVICE_ID_VORTEX_GDT6537RP    0x0102
  771. #define PCI_DEVICE_ID_VORTEX_GDT6557RP    0x0103
  772. #define PCI_DEVICE_ID_VORTEX_GDT6x11RP    0x0104
  773. #define PCI_DEVICE_ID_VORTEX_GDT6x21RP    0x0105
  774. #define PCI_DEVICE_ID_VORTEX_GDT6x17RP1    0x0110
  775. #define PCI_DEVICE_ID_VORTEX_GDT6x27RP1    0x0111
  776. #define PCI_DEVICE_ID_VORTEX_GDT6537RP1    0x0112
  777. #define PCI_DEVICE_ID_VORTEX_GDT6557RP1    0x0113
  778. #define PCI_DEVICE_ID_VORTEX_GDT6x11RP1    0x0114
  779. #define PCI_DEVICE_ID_VORTEX_GDT6x21RP1    0x0115
  780. #define PCI_DEVICE_ID_VORTEX_GDT6x17RP2    0x0120
  781. #define PCI_DEVICE_ID_VORTEX_GDT6x27RP2    0x0121
  782. #define PCI_DEVICE_ID_VORTEX_GDT6537RP2    0x0122
  783. #define PCI_DEVICE_ID_VORTEX_GDT6557RP2    0x0123
  784. #define PCI_DEVICE_ID_VORTEX_GDT6x11RP2    0x0124
  785. #define PCI_DEVICE_ID_VORTEX_GDT6x21RP2    0x0125
  786.  
  787. #define PCI_VENDOR_ID_EF        0x111a
  788. #define PCI_DEVICE_ID_EF_ATM_FPGA    0x0000
  789. #define PCI_DEVICE_ID_EF_ATM_ASIC    0x0002
  790.  
  791. #define PCI_VENDOR_ID_FORE        0x1127
  792. #define PCI_DEVICE_ID_FORE_PCA200PC    0x0210
  793. #define PCI_DEVICE_ID_FORE_PCA200E    0x0300
  794.  
  795. #define PCI_VENDOR_ID_IMAGINGTECH    0x112f
  796. #define PCI_DEVICE_ID_IMAGINGTECH_ICPCI    0x0000
  797.  
  798. #define PCI_VENDOR_ID_PHILIPS        0x1131
  799. #define PCI_DEVICE_ID_PHILIPS_SAA7145    0x7145
  800. #define PCI_DEVICE_ID_PHILIPS_SAA7146    0x7146
  801.  
  802. #define PCI_VENDOR_ID_CYCLONE        0x113c
  803. #define PCI_DEVICE_ID_CYCLONE_SDK    0x0001
  804.  
  805. #define PCI_VENDOR_ID_ALLIANCE        0x1142
  806. #define PCI_DEVICE_ID_ALLIANCE_PROMOTIO    0x3210
  807. #define PCI_DEVICE_ID_ALLIANCE_PROVIDEO    0x6422
  808. #define PCI_DEVICE_ID_ALLIANCE_AT24    0x6424
  809. #define PCI_DEVICE_ID_ALLIANCE_AT3D    0x643d
  810.  
  811. #define PCI_VENDOR_ID_SK        0x1148
  812. #define PCI_DEVICE_ID_SK_FP        0x4000
  813. #define PCI_DEVICE_ID_SK_TR        0x4200
  814. #define PCI_DEVICE_ID_SK_GE        0x4300
  815.  
  816. #define PCI_VENDOR_ID_VMIC        0x114a
  817. #define PCI_DEVICE_ID_VMIC_VME        0x7587
  818.  
  819. #define PCI_VENDOR_ID_DIGI        0x114f
  820. #define PCI_DEVICE_ID_DIGI_EPC        0x0002
  821. #define PCI_DEVICE_ID_DIGI_RIGHTSWITCH    0x0003
  822. #define PCI_DEVICE_ID_DIGI_XEM        0x0004
  823. #define PCI_DEVICE_ID_DIGI_XR        0x0005
  824. #define PCI_DEVICE_ID_DIGI_CX        0x0006
  825. #define PCI_DEVICE_ID_DIGI_XRJ        0x0009
  826. #define PCI_DEVICE_ID_DIGI_EPCJ        0x000a
  827. #define PCI_DEVICE_ID_DIGI_XR_920    0x0027
  828.  
  829. #define PCI_VENDOR_ID_MUTECH        0x1159
  830. #define PCI_DEVICE_ID_MUTECH_MV1000    0x0001
  831.  
  832. #define PCI_VENDOR_ID_RENDITION        0x1163
  833. #define PCI_DEVICE_ID_RENDITION_VERITE    0x0001
  834. #define PCI_DEVICE_ID_RENDITION_VERITE2100 0x2000
  835.  
  836. #define PCI_VENDOR_ID_TOSHIBA        0x1179
  837. #define PCI_DEVICE_ID_TOSHIBA_601    0x0601
  838. #define PCI_DEVICE_ID_TOSHIBA_TOPIC95    0x060a
  839. #define PCI_DEVICE_ID_TOSHIBA_TOPIC97    0x060f
  840.  
  841. #define PCI_VENDOR_ID_RICOH        0x1180
  842. #define PCI_DEVICE_ID_RICOH_RL5C465    0x0465
  843. #define PCI_DEVICE_ID_RICOH_RL5C466    0x0466
  844. #define PCI_DEVICE_ID_RICOH_RL5C475    0x0475
  845. #define PCI_DEVICE_ID_RICOH_RL5C478    0x0478
  846.  
  847. #define PCI_VENDOR_ID_ARTOP        0x1191
  848. #define PCI_DEVICE_ID_ARTOP_ATP8400    0x0004
  849. #define PCI_DEVICE_ID_ARTOP_ATP850UF    0x0005
  850.  
  851. #define PCI_VENDOR_ID_ZEITNET        0x1193
  852. #define PCI_DEVICE_ID_ZEITNET_1221    0x0001
  853. #define PCI_DEVICE_ID_ZEITNET_1225    0x0002
  854.  
  855. #define PCI_VENDOR_ID_OMEGA        0x119b
  856. #define PCI_DEVICE_ID_OMEGA_82C092G    0x1221
  857.  
  858. #define PCI_VENDOR_ID_LITEON        0x11ad
  859. #define PCI_DEVICE_ID_LITEON_LNE100TX    0x0002
  860.  
  861. #define PCI_VENDOR_ID_NP        0x11bc
  862. #define PCI_DEVICE_ID_NP_PCI_FDDI    0x0001
  863.  
  864. #define PCI_VENDOR_ID_ATT        0x11c1
  865. #define PCI_DEVICE_ID_ATT_L56XMF    0x0440
  866.  
  867. #define PCI_VENDOR_ID_SPECIALIX        0x11cb
  868. #define PCI_DEVICE_ID_SPECIALIX_IO8    0x2000
  869. #define PCI_DEVICE_ID_SPECIALIX_XIO    0x4000
  870. #define PCI_DEVICE_ID_SPECIALIX_RIO    0x8000
  871.  
  872. #define PCI_VENDOR_ID_AURAVISION    0x11d1
  873. #define PCI_DEVICE_ID_AURAVISION_VXP524    0x01f7
  874.  
  875. #define PCI_VENDOR_ID_IKON        0x11d5
  876. #define PCI_DEVICE_ID_IKON_10115    0x0115
  877. #define PCI_DEVICE_ID_IKON_10117    0x0117
  878.  
  879. #define PCI_VENDOR_ID_ZORAN        0x11de
  880. #define PCI_DEVICE_ID_ZORAN_36057    0x6057
  881. #define PCI_DEVICE_ID_ZORAN_36120    0x6120
  882.  
  883. #define PCI_VENDOR_ID_KINETIC        0x11f4
  884. #define PCI_DEVICE_ID_KINETIC_2915    0x2915
  885.  
  886. #define PCI_VENDOR_ID_COMPEX        0x11f6
  887. #define PCI_DEVICE_ID_COMPEX_ENET100VG4    0x0112
  888. #define PCI_DEVICE_ID_COMPEX_RL2000    0x1401
  889.  
  890. #define PCI_VENDOR_ID_RP               0x11fe
  891. #define PCI_DEVICE_ID_RP32INTF         0x0001
  892. #define PCI_DEVICE_ID_RP8INTF          0x0002
  893. #define PCI_DEVICE_ID_RP16INTF         0x0003
  894. #define PCI_DEVICE_ID_RP4QUAD           0x0004
  895. #define PCI_DEVICE_ID_RP8OCTA          0x0005
  896. #define PCI_DEVICE_ID_RP8J           0x0006
  897. #define PCI_DEVICE_ID_RPP4           0x000A
  898. #define PCI_DEVICE_ID_RPP8           0x000B
  899. #define PCI_DEVICE_ID_RP8M           0x000C
  900.  
  901. #define PCI_VENDOR_ID_CYCLADES        0x120e
  902. #define PCI_DEVICE_ID_CYCLOM_Y_Lo    0x0100
  903. #define PCI_DEVICE_ID_CYCLOM_Y_Hi    0x0101
  904. #define PCI_DEVICE_ID_CYCLOM_4Y_Lo    0x0102
  905. #define PCI_DEVICE_ID_CYCLOM_4Y_Hi    0x0103
  906. #define PCI_DEVICE_ID_CYCLOM_8Y_Lo    0x0104
  907. #define PCI_DEVICE_ID_CYCLOM_8Y_Hi    0x0105
  908. #define PCI_DEVICE_ID_CYCLOM_Z_Lo    0x0200
  909. #define PCI_DEVICE_ID_CYCLOM_Z_Hi    0x0201
  910.  
  911. #define PCI_VENDOR_ID_ESSENTIAL        0x120f
  912. #define PCI_DEVICE_ID_ESSENTIAL_ROADRUNNER    0x0001
  913.  
  914. #define PCI_VENDOR_ID_O2        0x1217
  915. #define PCI_DEVICE_ID_O2_6729        0x6729
  916. #define PCI_DEVICE_ID_O2_6730        0x673a
  917. #define PCI_DEVICE_ID_O2_6832        0x6832
  918. #define PCI_DEVICE_ID_O2_6836        0x6836
  919.  
  920. #define PCI_VENDOR_ID_3DFX        0x121a
  921. #define PCI_DEVICE_ID_3DFX_VOODOO    0x0001
  922. #define PCI_DEVICE_ID_3DFX_VOODOO2    0x0002
  923. #define PCI_DEVICE_ID_3DFX_BANSHEE      0x0003
  924.  
  925. #define PCI_VENDOR_ID_SIGMADES        0x1236
  926. #define PCI_DEVICE_ID_SIGMADES_6425    0x6401
  927.  
  928. #define PCI_VENDOR_ID_CCUBE        0x123f
  929.  
  930. #define PCI_VENDOR_ID_DIPIX        0x1246
  931.  
  932. #define PCI_VENDOR_ID_STALLION        0x124d
  933. #define PCI_DEVICE_ID_STALLION_ECHPCI832 0x0000
  934. #define PCI_DEVICE_ID_STALLION_ECHPCI864 0x0002
  935. #define PCI_DEVICE_ID_STALLION_EIOPCI    0x0003
  936.  
  937. #define PCI_VENDOR_ID_OPTIBASE        0x1255
  938. #define PCI_DEVICE_ID_OPTIBASE_FORGE    0x1110
  939. #define PCI_DEVICE_ID_OPTIBASE_FUSION    0x1210
  940. #define PCI_DEVICE_ID_OPTIBASE_VPLEX    0x2110
  941. #define PCI_DEVICE_ID_OPTIBASE_VPLEXCC    0x2120
  942. #define PCI_DEVICE_ID_OPTIBASE_VQUEST    0x2130
  943.  
  944. #define PCI_VENDOR_ID_SATSAGEM        0x1267
  945. #define PCI_DEVICE_ID_SATSAGEM_PCR2101    0x5352
  946. #define PCI_DEVICE_ID_SATSAGEM_TELSATTURBO 0x5a4b
  947.  
  948. #define PCI_VENDOR_ID_HUGHES        0x1273
  949. #define PCI_DEVICE_ID_HUGHES_DIRECPC    0x0002
  950.  
  951. #define PCI_VENDOR_ID_ENSONIQ        0x1274
  952. #define PCI_DEVICE_ID_ENSONIQ_AUDIOPCI    0x5000
  953.  
  954. #define PCI_VENDOR_ID_ALTEON        0x12ae
  955. #define PCI_DEVICE_ID_ALTEON_ACENIC    0x0001
  956.  
  957. #define PCI_VENDOR_ID_PICTUREL        0x12c5
  958. #define PCI_DEVICE_ID_PICTUREL_PCIVST    0x0081
  959.  
  960. #define PCI_VENDOR_ID_NVIDIA_SGS    0x12d2
  961. #define PCI_DEVICE_ID_NVIDIA_SGS_RIVA128 0x0018
  962.  
  963. #define PCI_VENDOR_ID_CBOARDS        0x1307
  964. #define PCI_DEVICE_ID_CBOARDS_DAS1602_16 0x0001
  965.  
  966. #define PCI_VENDOR_ID_NETGEAR        0x1385
  967. #define PCI_DEVICE_ID_NETGEAR_GA620    0x620a
  968.  
  969. #define PCI_VENDOR_ID_SYMPHONY        0x1c1c
  970. #define PCI_DEVICE_ID_SYMPHONY_101    0x0001
  971.  
  972. #define PCI_VENDOR_ID_TEKRAM        0x1de1
  973. #define PCI_DEVICE_ID_TEKRAM_DC290    0xdc29
  974.  
  975. #define PCI_VENDOR_ID_3DLABS        0x3d3d
  976. #define PCI_DEVICE_ID_3DLABS_300SX    0x0001
  977. #define PCI_DEVICE_ID_3DLABS_500TX    0x0002
  978. #define PCI_DEVICE_ID_3DLABS_DELTA    0x0003
  979. #define PCI_DEVICE_ID_3DLABS_PERMEDIA    0x0004
  980. #define PCI_DEVICE_ID_3DLABS_MX        0x0006
  981.  
  982. #define PCI_VENDOR_ID_AVANCE        0x4005
  983. #define PCI_DEVICE_ID_AVANCE_ALG2064    0x2064
  984. #define PCI_DEVICE_ID_AVANCE_2302    0x2302
  985.  
  986. #define PCI_VENDOR_ID_NETVIN        0x4a14
  987. #define PCI_DEVICE_ID_NETVIN_NV5000SC    0x5000
  988.  
  989. #define PCI_VENDOR_ID_S3        0x5333
  990. #define PCI_DEVICE_ID_S3_PLATO_PXS    0x0551
  991. #define PCI_DEVICE_ID_S3_ViRGE        0x5631
  992. #define PCI_DEVICE_ID_S3_TRIO        0x8811
  993. #define PCI_DEVICE_ID_S3_AURORA64VP    0x8812
  994. #define PCI_DEVICE_ID_S3_TRIO64UVP    0x8814
  995. #define PCI_DEVICE_ID_S3_ViRGE_VX    0x883d
  996. #define PCI_DEVICE_ID_S3_868        0x8880
  997. #define PCI_DEVICE_ID_S3_928        0x88b0
  998. #define PCI_DEVICE_ID_S3_864_1        0x88c0
  999. #define PCI_DEVICE_ID_S3_864_2        0x88c1
  1000. #define PCI_DEVICE_ID_S3_964_1        0x88d0
  1001. #define PCI_DEVICE_ID_S3_964_2        0x88d1
  1002. #define PCI_DEVICE_ID_S3_968        0x88f0
  1003. #define PCI_DEVICE_ID_S3_TRIO64V2    0x8901
  1004. #define PCI_DEVICE_ID_S3_PLATO_PXG    0x8902
  1005. #define PCI_DEVICE_ID_S3_ViRGE_DXGX    0x8a01
  1006. #define PCI_DEVICE_ID_S3_ViRGE_GX2    0x8a10
  1007. #define PCI_DEVICE_ID_S3_ViRGE_MX    0x8c01
  1008. #define PCI_DEVICE_ID_S3_ViRGE_MXP    0x8c02
  1009. #define PCI_DEVICE_ID_S3_ViRGE_MXPMV    0x8c03
  1010. #define PCI_DEVICE_ID_S3_SONICVIBES    0xca00
  1011.  
  1012. #define PCI_VENDOR_ID_DCI       0x6666
  1013. #define PCI_DEVICE_ID_DCI_PCCOM4    0x0001
  1014.  
  1015. #define PCI_VENDOR_ID_INTEL        0x8086
  1016. #define PCI_DEVICE_ID_INTEL_82375    0x0482
  1017. #define PCI_DEVICE_ID_INTEL_82424    0x0483
  1018. #define PCI_DEVICE_ID_INTEL_82378    0x0484
  1019. #define PCI_DEVICE_ID_INTEL_82430    0x0486
  1020. #define PCI_DEVICE_ID_INTEL_82434    0x04a3
  1021. #define PCI_DEVICE_ID_INTEL_82092AA_0    0x1221
  1022. #define PCI_DEVICE_ID_INTEL_82092AA_1    0x1222
  1023. #define PCI_DEVICE_ID_INTEL_7116    0x1223
  1024. #define PCI_DEVICE_ID_INTEL_82596    0x1226
  1025. #define PCI_DEVICE_ID_INTEL_82865    0x1227
  1026. #define PCI_DEVICE_ID_INTEL_82557    0x1229
  1027. #define PCI_DEVICE_ID_INTEL_82437    0x122d
  1028. #define PCI_DEVICE_ID_INTEL_82371FB_0    0x122e
  1029. #define PCI_DEVICE_ID_INTEL_82371FB_1    0x1230
  1030. #define PCI_DEVICE_ID_INTEL_82371MX    0x1234
  1031. #define PCI_DEVICE_ID_INTEL_82437MX    0x1235
  1032. #define PCI_DEVICE_ID_INTEL_82441    0x1237
  1033. #define PCI_DEVICE_ID_INTEL_82380FB    0x124b
  1034. #define PCI_DEVICE_ID_INTEL_82439    0x1250
  1035. #define PCI_DEVICE_ID_INTEL_82371SB_0    0x7000
  1036. #define PCI_DEVICE_ID_INTEL_82371SB_1    0x7010
  1037. #define PCI_DEVICE_ID_INTEL_82371SB_2    0x7020
  1038. #define PCI_DEVICE_ID_INTEL_82437VX    0x7030
  1039. #define PCI_DEVICE_ID_INTEL_82439TX    0x7100
  1040. #define PCI_DEVICE_ID_INTEL_82371AB_0    0x7110
  1041. #define PCI_DEVICE_ID_INTEL_82371AB    0x7111
  1042. #define PCI_DEVICE_ID_INTEL_82371AB_2    0x7112
  1043. #define PCI_DEVICE_ID_INTEL_82371AB_3    0x7113
  1044. #define PCI_DEVICE_ID_INTEL_82443LX_0    0x7180
  1045. #define PCI_DEVICE_ID_INTEL_82443LX_1    0x7181
  1046. #define PCI_DEVICE_ID_INTEL_82443BX_0    0x7190
  1047. #define PCI_DEVICE_ID_INTEL_82443BX_1    0x7191
  1048. #define PCI_DEVICE_ID_INTEL_82443BX_2    0x7192
  1049. #define PCI_DEVICE_ID_INTEL_P6        0x84c4
  1050. #define PCI_DEVICE_ID_INTEL_82450GX    0x84c5
  1051. #define PCI_DEVICE_ID_INTEL_82451NX    0x84ca
  1052.  
  1053. #define PCI_VENDOR_ID_KTI        0x8e2e
  1054. #define PCI_DEVICE_ID_KTI_ET32P2    0x3000
  1055.  
  1056. #define PCI_VENDOR_ID_ADAPTEC        0x9004
  1057. #define PCI_DEVICE_ID_ADAPTEC_7810    0x1078
  1058. #define PCI_DEVICE_ID_ADAPTEC_7850    0x5078
  1059. #define PCI_DEVICE_ID_ADAPTEC_7855    0x5578
  1060. #define PCI_DEVICE_ID_ADAPTEC_5800    0x5800
  1061. #define PCI_DEVICE_ID_ADAPTEC_1480A    0x6075
  1062. #define PCI_DEVICE_ID_ADAPTEC_7860    0x6078
  1063. #define PCI_DEVICE_ID_ADAPTEC_7861    0x6178
  1064. #define PCI_DEVICE_ID_ADAPTEC_7870    0x7078
  1065. #define PCI_DEVICE_ID_ADAPTEC_7871    0x7178
  1066. #define PCI_DEVICE_ID_ADAPTEC_7872    0x7278
  1067. #define PCI_DEVICE_ID_ADAPTEC_7873    0x7378
  1068. #define PCI_DEVICE_ID_ADAPTEC_7874    0x7478
  1069. #define PCI_DEVICE_ID_ADAPTEC_7895    0x7895
  1070. #define PCI_DEVICE_ID_ADAPTEC_7880    0x8078
  1071. #define PCI_DEVICE_ID_ADAPTEC_7881    0x8178
  1072. #define PCI_DEVICE_ID_ADAPTEC_7882    0x8278
  1073. #define PCI_DEVICE_ID_ADAPTEC_7883    0x8378
  1074. #define PCI_DEVICE_ID_ADAPTEC_7884    0x8478
  1075. #define PCI_DEVICE_ID_ADAPTEC_1030    0x8b78
  1076.  
  1077. #define PCI_VENDOR_ID_ADAPTEC2        0x9005
  1078. #define PCI_DEVICE_ID_ADAPTEC2_2940U2    0x0010
  1079. #define PCI_DEVICE_ID_ADAPTEC2_78902    0x0013
  1080. #define PCI_DEVICE_ID_ADAPTEC2_7890    0x001f
  1081. #define PCI_DEVICE_ID_ADAPTEC2_3940U2    0x0050
  1082. #define PCI_DEVICE_ID_ADAPTEC2_3950U2D    0x0051
  1083. #define PCI_DEVICE_ID_ADAPTEC2_7896    0x005f
  1084.  
  1085. #define PCI_VENDOR_ID_ATRONICS        0x907f
  1086. #define PCI_DEVICE_ID_ATRONICS_2015    0x2015
  1087.  
  1088. #define PCI_VENDOR_ID_HOLTEK        0x9412
  1089. #define PCI_DEVICE_ID_HOLTEK_6565    0x6565
  1090.  
  1091. #define PCI_VENDOR_ID_TIGERJET        0xe159
  1092. #define PCI_DEVICE_ID_TIGERJET_300    0x0001
  1093.  
  1094. #define PCI_VENDOR_ID_ARK        0xedd8
  1095. #define PCI_DEVICE_ID_ARK_STING        0xa091
  1096. #define PCI_DEVICE_ID_ARK_STINGARK    0xa099
  1097. #define PCI_DEVICE_ID_ARK_2000MT    0xa0a1
  1098.  
  1099. /*
  1100.  * The PCI interface treats multi-function devices as independent
  1101.  * devices.  The slot/function address of each device is encoded
  1102.  * in a single byte as follows:
  1103.  *
  1104.  *    7:3 = slot
  1105.  *    2:0 = function
  1106.  */
  1107. #define PCI_DEVFN(slot,func)    ((((slot) & 0x1f) << 3) | ((func) & 0x07))
  1108. #define PCI_SLOT(devfn)        (((devfn) >> 3) & 0x1f)
  1109. #define PCI_FUNC(devfn)        ((devfn) & 0x07)
  1110.  
  1111. #ifdef __KERNEL__
  1112.  
  1113. #include <linux/types.h>
  1114. #include <linux/config.h>
  1115.  
  1116. /*
  1117.  * There is one pci_dev structure for each slot-number/function-number
  1118.  * combination:
  1119.  */
  1120. struct pci_dev {
  1121.     struct pci_bus    *bus;        /* bus this device is on */
  1122.     struct pci_dev    *sibling;    /* next device on this bus */
  1123.     struct pci_dev    *next;        /* chain of all devices */
  1124.  
  1125.     void        *sysdata;    /* hook for sys-specific extension */
  1126.     struct proc_dir_entry *procent;    /* device entry in /proc/bus/pci */
  1127.  
  1128.     unsigned int    devfn;        /* encoded device & function index */
  1129.     unsigned short    vendor;
  1130.     unsigned short    device;
  1131.     unsigned int    class;        /* 3 bytes: (base,sub,prog-if) */
  1132.     unsigned int    hdr_type;    /* PCI header type */
  1133.     unsigned int    master : 1;    /* set if device is master capable */
  1134.     /*
  1135.      * In theory, the irq level can be read from configuration
  1136.      * space and all would be fine.  However, old PCI chips don't
  1137.      * support these registers and return 0 instead.  For example,
  1138.      * the Vision864-P rev 0 chip can uses INTA, but returns 0 in
  1139.      * the interrupt line and pin registers.  pci_init()
  1140.      * initializes this field with the value at PCI_INTERRUPT_LINE
  1141.      * and it is the job of pcibios_fixup() to change it if
  1142.      * necessary.  The field must not be 0 unless the device
  1143.      * cannot generate interrupts at all.
  1144.      */
  1145.     unsigned int    irq;        /* irq generated by this device */
  1146.  
  1147.     /* Base registers for this device, can be adjusted by
  1148.      * pcibios_fixup() as necessary.
  1149.      */
  1150.     unsigned long    base_address[6];
  1151.     unsigned long    rom_address;
  1152. };
  1153.  
  1154. struct pci_bus {
  1155.     struct pci_bus    *parent;    /* parent bus this bridge is on */
  1156.     struct pci_bus    *children;    /* chain of P2P bridges on this bus */
  1157.     struct pci_bus    *next;        /* chain of all PCI buses */
  1158.  
  1159.     struct pci_dev    *self;        /* bridge device as seen by parent */
  1160.     struct pci_dev    *devices;    /* devices behind this bridge */
  1161.  
  1162.     void        *sysdata;    /* hook for sys-specific extension */
  1163.     struct proc_dir_entry *procdir;    /* directory entry in /proc/bus/pci */
  1164.  
  1165.     unsigned char    number;        /* bus number */
  1166.     unsigned char    primary;    /* number of primary bridge */
  1167.     unsigned char    secondary;    /* number of secondary bridge */
  1168.     unsigned char    subordinate;    /* max number of subordinate buses */
  1169. };
  1170.  
  1171. extern struct pci_bus    pci_root;    /* root bus */
  1172. extern struct pci_dev    *pci_devices;    /* list of all devices */
  1173.  
  1174. /*
  1175.  * Error values that may be returned by the PCI bios.
  1176.  */
  1177. #define PCIBIOS_SUCCESSFUL        0x00
  1178. #define PCIBIOS_FUNC_NOT_SUPPORTED    0x81
  1179. #define PCIBIOS_BAD_VENDOR_ID        0x83
  1180. #define PCIBIOS_DEVICE_NOT_FOUND    0x86
  1181. #define PCIBIOS_BAD_REGISTER_NUMBER    0x87
  1182. #define PCIBIOS_SET_FAILED        0x88
  1183. #define PCIBIOS_BUFFER_TOO_SMALL    0x89
  1184.  
  1185. /* Low-level architecture-dependent routines */
  1186.  
  1187. int pcibios_present (void);
  1188. void pcibios_init(void);
  1189. void pcibios_fixup(void);
  1190. void pcibios_fixup_bus(struct pci_bus *);
  1191. char *pcibios_setup (char *str);
  1192. int pcibios_read_config_byte (unsigned char bus, unsigned char dev_fn,
  1193.                   unsigned char where, unsigned char *val);
  1194. int pcibios_read_config_word (unsigned char bus, unsigned char dev_fn,
  1195.                   unsigned char where, unsigned short *val);
  1196. int pcibios_read_config_dword (unsigned char bus, unsigned char dev_fn,
  1197.                    unsigned char where, unsigned int *val);
  1198. int pcibios_write_config_byte (unsigned char bus, unsigned char dev_fn,
  1199.                    unsigned char where, unsigned char val);
  1200. int pcibios_write_config_word (unsigned char bus, unsigned char dev_fn,
  1201.                    unsigned char where, unsigned short val);
  1202. int pcibios_write_config_dword (unsigned char bus, unsigned char dev_fn,
  1203.                 unsigned char where, unsigned int val);
  1204.  
  1205. /* Don't use these in new code, use pci_find_... instead */
  1206.  
  1207. int pcibios_find_class (unsigned int class_code, unsigned short index, unsigned char *bus, unsigned char *dev_fn);
  1208. int pcibios_find_device (unsigned short vendor, unsigned short dev_id,
  1209.              unsigned short index, unsigned char *bus,
  1210.              unsigned char *dev_fn);
  1211.  
  1212. /* Generic PCI interface functions */
  1213.  
  1214. void pci_init(void);
  1215. void pci_setup(char *str, int *ints);
  1216. void pci_quirks_init(void);
  1217. unsigned int pci_scan_bus(struct pci_bus *bus);
  1218. struct pci_bus *pci_scan_peer_bridge(int bus);
  1219. void pci_proc_init(void);
  1220. void proc_old_pci_init(void);
  1221. int get_pci_list(char *buf);
  1222. int pci_proc_attach_device(struct pci_dev *dev);
  1223. int pci_proc_detach_device(struct pci_dev *dev);
  1224.  
  1225. struct pci_dev *pci_find_device (unsigned int vendor, unsigned int device, struct pci_dev *from);
  1226. struct pci_dev *pci_find_class (unsigned int class, struct pci_dev *from);
  1227. struct pci_dev *pci_find_slot (unsigned int bus, unsigned int devfn);
  1228.  
  1229. #define pci_present pcibios_present
  1230. int pci_read_config_byte(struct pci_dev *dev, u8 where, u8 *val);
  1231. int pci_read_config_word(struct pci_dev *dev, u8 where, u16 *val);
  1232. int pci_read_config_dword(struct pci_dev *dev, u8 where, u32 *val);
  1233. int pci_write_config_byte(struct pci_dev *dev, u8 where, u8 val);
  1234. int pci_write_config_word(struct pci_dev *dev, u8 where, u16 val);
  1235. int pci_write_config_dword(struct pci_dev *dev, u8 where, u32 val);
  1236. void pci_set_master(struct pci_dev *dev);
  1237.  
  1238. #ifndef CONFIG_PCI
  1239. /* If the system does not have PCI, clearly these return errors.  Define
  1240.    these as simple inline functions to avoid hair in drivers.  */
  1241. extern inline int pcibios_present(void) { return 0; }
  1242.  
  1243. #define _PCI_NOP(o,s,t) \
  1244.     extern inline int pcibios_##o##_config_##s## (u8 bus, u8 dfn, u8 where, t val) \
  1245.         { return PCIBIOS_FUNC_NOT_SUPPORTED; } \
  1246.     extern inline int pci_##o##_config_##s## (struct pci_dev *dev, u8 where, t val) \
  1247.         { return PCIBIOS_FUNC_NOT_SUPPORTED; }
  1248. #define _PCI_NOP_ALL(o,x)    _PCI_NOP(o,byte,u8 x) \
  1249.                 _PCI_NOP(o,word,u16 x) \
  1250.                 _PCI_NOP(o,dword,u32 x)
  1251. _PCI_NOP_ALL(read, *)
  1252. _PCI_NOP_ALL(write,)
  1253.  
  1254. extern inline struct pci_dev *pci_find_device(unsigned int vendor, unsigned int device, struct pci_dev *from)
  1255. { return NULL; }
  1256.  
  1257. extern inline struct pci_dev *pci_find_class(unsigned int class, struct pci_dev *from)
  1258. { return NULL; }
  1259.  
  1260. extern inline struct pci_dev *pci_find_slot(unsigned int bus, unsigned int devfn)
  1261. { return NULL; }
  1262.  
  1263. #endif /* !CONFIG_PCI */
  1264.  
  1265. #endif /* __KERNEL__ */
  1266. #endif /* LINUX_PCI_H */
  1267.